package com.xiaoyang.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

/**
 * @author lichenyang
 * @create 2021-07-14 09:47
 */
@RestController
public class UploadController {

    /**
     * MultipartFile 自动封装上传来的内容
     *
     * 问题!!!!!!!!!!!!!!!!!!!!!!!!, 上传的时候, 先修改 springboot 的默认配置, 单个文件最大大小 和 上传的 总大小
     *
     * @param singalFile
     * @param multiFile
     * @return
     */
    @RequestMapping("upload")
    public String upload(@RequestPart("singalFile") MultipartFile singalFile,
                         @RequestPart("multiFile") MultipartFile[] multiFile) throws IOException {
        // 单文件
        if (!singalFile.isEmpty()) {
            // 获取原始文件名
            String originalFilename = singalFile.getOriginalFilename();

            // 保存到本地的指定位置
            singalFile.transferTo(new File("/Users/lucky_sun/Desktop/" + originalFilename));
            // 获取文件原生的流
            InputStream inputStream = singalFile.getInputStream();
        }

        // 多文件
        if (multiFile.length > 0) {
            for (MultipartFile file : multiFile) {
                if (!file.isEmpty()) {
                    // 保存到本地的指定位置
                    singalFile.transferTo(new File("/Users/lucky_sun/Desktop/" + file.getOriginalFilename()));
                }
            }
        }


        return "update成功";
    }


}
